package org.htmlparser.lexer;

import java.io.IOException;
import java.io.Reader;
import java.io.Serializable;
import org.htmlparser.util.ParserException;

public abstract class Source extends Reader
  implements Serializable
{
  public static final int EOF = -1;

  public abstract int available();

  public abstract void close()
    throws IOException;

  public abstract void destroy()
    throws IOException;

  public abstract char getCharacter(int paramInt)
    throws IOException;

  public abstract void getCharacters(StringBuffer paramStringBuffer, int paramInt1, int paramInt2)
    throws IOException;

  public abstract void getCharacters(char[] paramArrayOfChar, int paramInt1, int paramInt2, int paramInt3)
    throws IOException;

  public abstract String getEncoding();

  public abstract String getString(int paramInt1, int paramInt2)
    throws IOException;

  public abstract void mark(int paramInt)
    throws IOException;

  public abstract boolean markSupported();

  public abstract int offset();

  public abstract int read()
    throws IOException;

  public abstract int read(char[] paramArrayOfChar)
    throws IOException;

  public abstract int read(char[] paramArrayOfChar, int paramInt1, int paramInt2)
    throws IOException;

  public abstract boolean ready()
    throws IOException;

  public abstract void reset();

  public abstract void setEncoding(String paramString)
    throws ParserException;

  public abstract long skip(long paramLong)
    throws IOException;

  public abstract void unread()
    throws IOException;
}